package com.ruoyi.system.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 sys_product
 *
 * @author ruoyi
 * @date 2023-04-05
 */
public class SysProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 自增 */
    private Long id;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String jrProductName;

    /** 资方信息ID */
    @Excel(name = "资方信息ID")
    private Long companyId;

    /** 资金提供方 */
    @Excel(name = "资金提供方")
    private String companyName;

    /** 分期期限(-1表示无限期) */
    @Excel(name = "分期期限(-1表示无限期)")
    private Long instalmentPeriod;

    /** 授信额度(单位：%，比如80%，存的是80) */
    @Excel(name = "授信额度(单位：%，比如80%，存的是80)")
    private BigDecimal creditLine;

    /** 金融产品类型
,"1：租房分期
2：收房贷
3：应收租约保理" */
    @Excel(name = "金融产品类型 ,1：租房分期 ，2：收房贷 ，3：应收租约保理")
    private Integer jrProductType;

    /** 还款方式
,"1：按月还款
2：按季还款
3：按租约周期支付" */
    @Excel(name = "还款方式 ,1：按月还款 ，2：按季还款 ，3：按租约周期支付")
    private Integer repaymentType;

    /** 支付PC链接(URL) */
    @Excel(name = "支付PC链接(URL)")
    private String urlPayPc;

    /** 支付移动链接(URL) */
    @Excel(name = "支付移动链接(URL)")
    private String urlPayMoble;

    /** 补全信息PC(URL) */
    @Excel(name = "补全信息PC(URL)")
    private String urlAddDetailInfoPc;

    /** 补全信息移动(URL) */
    @Excel(name = "补全信息移动(URL)")
    private String urlAddDetailInfoMobile;

    /** App下载(URL) */
    @Excel(name = "App下载(URL)")
    private String urlAppDownload;

    /** 银行账户类型（对公账户、对私账户）AccountTypeEnum */
    @Excel(name = "银行账户类型", readConverterExp = "对=公账户、对私账户")
    private Integer accountType;

    /** 银行卡号 */
    @Excel(name = "银行卡号")
    private String bankCardNumber;

    /** 开户银行ID */
    @Excel(name = "开户银行ID")
    private Long bankId;

    /** 银行名称 */
    @Excel(name = "银行名称")
    private String bankName;

    /** 开户行(支行) */
    @Excel(name = "开户行(支行)")
    private String openingBank;

    /** 账户名称（对公为企业名称，对私为姓名） */
    @Excel(name = "账户名称", readConverterExp = "对=公为企业名称，对私为姓名")
    private String accountName;

    /** 联行行号（手输，对公必须） */
    @Excel(name = "联行行号", readConverterExp = "手=输，对公必须")
    private String bankBranchCodeLh;

    /** 开户行所在省ID */
    @Excel(name = "开户行所在省ID")
    private Long bankAccountProvince;

    /** 申请条件 */
    @Excel(name = "申请条件")
    private String applicationConditions;

    /** 风控要求 */
    @Excel(name = "风控要求")
    private String riskRequirement;

    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private Long reserve1;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private Long reserve2;

    /** 预留字段3 */
    @Excel(name = "预留字段3")
    private String reserve3;

    /** 预留字段4 */
    @Excel(name = "预留字段4")
    private String reserve4;

    /** 预留字段5 */
    @Excel(name = "预留字段5")
    private String reserve5;

    /** 删除标识
,0:未删除，1：删除 */
    @Excel(name = "删除标识 ,0:未删除，1：删除")
    private Integer delFlg;

    /** 创建用户ID */
    @Excel(name = "创建用户ID")
    private Long createUserid;

    /** 更新用户ID */
    @Excel(name = "更新用户ID")
    private Long updateUserid;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setJrProductName(String jrProductName)
    {
        this.jrProductName = jrProductName;
    }

    public String getJrProductName()
    {
        return jrProductName;
    }
    public void setCompanyId(Long companyId)
    {
        this.companyId = companyId;
    }

    public Long getCompanyId()
    {
        return companyId;
    }
    public void setCompanyName(String companyName)
    {
        this.companyName = companyName;
    }

    public String getCompanyName()
    {
        return companyName;
    }
    public void setInstalmentPeriod(Long instalmentPeriod)
    {
        this.instalmentPeriod = instalmentPeriod;
    }

    public Long getInstalmentPeriod()
    {
        return instalmentPeriod;
    }
    public void setCreditLine(BigDecimal creditLine)
    {
        this.creditLine = creditLine;
    }

    public BigDecimal getCreditLine()
    {
        return creditLine;
    }
    public void setJrProductType(Integer jrProductType)
    {
        this.jrProductType = jrProductType;
    }

    public Integer getJrProductType()
    {
        return jrProductType;
    }
    public void setRepaymentType(Integer repaymentType)
    {
        this.repaymentType = repaymentType;
    }

    public Integer getRepaymentType()
    {
        return repaymentType;
    }
    public void setUrlPayPc(String urlPayPc)
    {
        this.urlPayPc = urlPayPc;
    }

    public String getUrlPayPc()
    {
        return urlPayPc;
    }
    public void setUrlPayMoble(String urlPayMoble)
    {
        this.urlPayMoble = urlPayMoble;
    }

    public String getUrlPayMoble()
    {
        return urlPayMoble;
    }
    public void setUrlAddDetailInfoPc(String urlAddDetailInfoPc)
    {
        this.urlAddDetailInfoPc = urlAddDetailInfoPc;
    }

    public String getUrlAddDetailInfoPc()
    {
        return urlAddDetailInfoPc;
    }
    public void setUrlAddDetailInfoMobile(String urlAddDetailInfoMobile)
    {
        this.urlAddDetailInfoMobile = urlAddDetailInfoMobile;
    }

    public String getUrlAddDetailInfoMobile()
    {
        return urlAddDetailInfoMobile;
    }
    public void setUrlAppDownload(String urlAppDownload)
    {
        this.urlAppDownload = urlAppDownload;
    }

    public String getUrlAppDownload()
    {
        return urlAppDownload;
    }
    public void setAccountType(Integer accountType)
    {
        this.accountType = accountType;
    }

    public Integer getAccountType()
    {
        return accountType;
    }
    public void setBankCardNumber(String bankCardNumber)
    {
        this.bankCardNumber = bankCardNumber;
    }

    public String getBankCardNumber()
    {
        return bankCardNumber;
    }
    public void setBankId(Long bankId)
    {
        this.bankId = bankId;
    }

    public Long getBankId()
    {
        return bankId;
    }
    public void setBankName(String bankName)
    {
        this.bankName = bankName;
    }

    public String getBankName()
    {
        return bankName;
    }
    public void setOpeningBank(String openingBank)
    {
        this.openingBank = openingBank;
    }

    public String getOpeningBank()
    {
        return openingBank;
    }
    public void setAccountName(String accountName)
    {
        this.accountName = accountName;
    }

    public String getAccountName()
    {
        return accountName;
    }
    public void setBankBranchCodeLh(String bankBranchCodeLh)
    {
        this.bankBranchCodeLh = bankBranchCodeLh;
    }

    public String getBankBranchCodeLh()
    {
        return bankBranchCodeLh;
    }
    public void setBankAccountProvince(Long bankAccountProvince)
    {
        this.bankAccountProvince = bankAccountProvince;
    }

    public Long getBankAccountProvince()
    {
        return bankAccountProvince;
    }
    public void setApplicationConditions(String applicationConditions)
    {
        this.applicationConditions = applicationConditions;
    }

    public String getApplicationConditions()
    {
        return applicationConditions;
    }
    public void setRiskRequirement(String riskRequirement)
    {
        this.riskRequirement = riskRequirement;
    }

    public String getRiskRequirement()
    {
        return riskRequirement;
    }
    public void setReserve1(Long reserve1)
    {
        this.reserve1 = reserve1;
    }

    public Long getReserve1()
    {
        return reserve1;
    }
    public void setReserve2(Long reserve2)
    {
        this.reserve2 = reserve2;
    }

    public Long getReserve2()
    {
        return reserve2;
    }
    public void setReserve3(String reserve3)
    {
        this.reserve3 = reserve3;
    }

    public String getReserve3()
    {
        return reserve3;
    }
    public void setReserve4(String reserve4)
    {
        this.reserve4 = reserve4;
    }

    public String getReserve4()
    {
        return reserve4;
    }
    public void setReserve5(String reserve5)
    {
        this.reserve5 = reserve5;
    }

    public String getReserve5()
    {
        return reserve5;
    }
    public void setDelFlg(Integer delFlg)
    {
        this.delFlg = delFlg;
    }

    public Integer getDelFlg()
    {
        return delFlg;
    }
    public void setCreateUserid(Long createUserid)
    {
        this.createUserid = createUserid;
    }

    public Long getCreateUserid()
    {
        return createUserid;
    }
    public void setUpdateUserid(Long updateUserid)
    {
        this.updateUserid = updateUserid;
    }

    public Long getUpdateUserid()
    {
        return updateUserid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("jrProductName", getJrProductName())
            .append("companyId", getCompanyId())
            .append("companyName", getCompanyName())
            .append("instalmentPeriod", getInstalmentPeriod())
            .append("creditLine", getCreditLine())
            .append("jrProductType", getJrProductType())
            .append("repaymentType", getRepaymentType())
            .append("urlPayPc", getUrlPayPc())
            .append("urlPayMoble", getUrlPayMoble())
            .append("urlAddDetailInfoPc", getUrlAddDetailInfoPc())
            .append("urlAddDetailInfoMobile", getUrlAddDetailInfoMobile())
            .append("urlAppDownload", getUrlAppDownload())
            .append("accountType", getAccountType())
            .append("bankCardNumber", getBankCardNumber())
            .append("bankId", getBankId())
            .append("bankName", getBankName())
            .append("openingBank", getOpeningBank())
            .append("accountName", getAccountName())
            .append("bankBranchCodeLh", getBankBranchCodeLh())
            .append("bankAccountProvince", getBankAccountProvince())
            .append("applicationConditions", getApplicationConditions())
            .append("riskRequirement", getRiskRequirement())
            .append("reserve1", getReserve1())
            .append("reserve2", getReserve2())
            .append("reserve3", getReserve3())
            .append("reserve4", getReserve4())
            .append("reserve5", getReserve5())
            .append("delFlg", getDelFlg())
            .append("createUserid", getCreateUserid())
            .append("createTime", getCreateTime())
            .append("updateUserid", getUpdateUserid())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
